In a client server network, when a client needs to have access to a resource located on a server, the client typically sends a request to the server. The server then sends a copy of the resource to the client. For example, on the Internet, the client may send the request using a web browser to access a web page on a web server.
Depending on the type of network used, the length of time that the client has to wait to receive the resource from the server may vary. For example, when the client is connected to the Internet using a 56 Kbps modem, the wait time may be longer compared to a client using a Digital Subscriber Line (DSL) connection. The wait time may even be longer when the client is a web-enabled wireless device due to the typically narrower bandwidth associated with wireless connections.
In the web environment, the web page sent from the web server to the browser may be stored in the RAM memory of the client computer running the web browser. The web page may also be stored on the computer's hard drive. This is referred to as caching. Caching speeds up access to the web pages. For example, when a request is initiated to retrieve a web page that was visited before, the browser will first look in the cache to see if the requested web page is there. If the web page is found in the cache, the browser loads the web page from the cache rather than obtaining a new copy from the web server.
While caching generally speeds web page access, one side effect is that a web page displayed from the cache may be stale and not be as fresh as the web page available from the web server. To allow retrieving a “fresh” web page, the web browser provides “reload” or “refresh” feature. The “reload” feature is useful to take advantage of web pages which frequently update their contents. For example, a news website such as Cable News Network (CNN) may put new information on their server every couple of minutes. Other examples include servers that provide stock quotes, traffic information, etc.
Activating the “reload” feature causes a request for the most recent information to be sent to the web server. In existing networks, when the “reload” feature is activated, the entire web page is sent from the web server to the client computer. One disadvantage of reloading the same web page is that the response time may not be very fast due to network traffic conditions. For example, when the client computer is connected with the network using wireless communication, the bandwidth is usually limited. As a result, it may take a long time to get a web page downloaded from the network.
HTTP (Hypertext Transfer Protocol) version 1.1 introduced a validator called element tag or Etag, which can reduce network traffic in some instances. The Etags are unique identifiers that are generated by the server. The Etags are changed every time the web pages change. Because the server controls how the ETags are generated, the client computer can be sure that when the ETag matches the web page remains the same. However, the ETag works to reduce network traffic only when the web page is identical with the cached version.
From the foregoing it can be seen that it is desirable to provide an improved method for transmitting information in a narrow bandwidth network environment.